

class two_site_fci_basis:

   def __init__(self):
      self.dets = []
      print
      det = Determinant(nsites,nalpha,nbeta)
      det.phiA[0,0] = 1
      det.phiB[0,0] = 1
      dets.append(det)
      print "basis state 0:\n", det
      det = Determinant(nsites,nalpha,nbeta)
      det.phiA[0,0] = 1
      det.phiB[1,0] = 1
      dets.append(det)
      print "basis state 1:\n", det
      det = Determinant(nsites,nalpha,nbeta)
      det.phiA[1,0] = 1
      det.phiB[0,0] = 1
      dets.append(det)
      print "basis state 2:\n", det
      det = Determinant(nsites,nalpha,nbeta)
      det.phiA[1,0] = 1
      det.phiB[1,0] = 1
      dets.append(det)
      print "basis state 3:\n", det
      
      print 0,0 
      print "overlap =", dets[0].get_overlap_integrals(dets[0])
      ham.eval_energy(dets[0],dets[0])
      
      print
      print 0,1 
      print "overlap =", dets[0].get_overlap_integrals(dets[1])
      ham.eval_energy(dets[0],dets[1])



#for i in range(4):
#   det1 = dets[i]
#   for j in range(i+1):
#      det2 = dets[j]
#      print i,j, "overlap =", det1.get_overlap_integrals(det2)
##      e = ham.eval_energy_via_G(det1,det2)
#      e = ham.eval_energy(det1,det2)
#      print "<det1|H|det2> =", e





####pop = Deterministic_population(nsites,nalpha,nbeta)
####pop.evolve_pop(ham,dt,Et,nsteps=10)
###
###pop = Stochastic_population(nsites,nalpha,nbeta,nwalkers=100000)
###pop.evolve_pop(ham,dt,Et,nsteps=1000,nburn=2)
####pop.evolve_pop(ham,dt,Et,nsteps=2,nburn=2)



